home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_13_11
/
phillip2
/
mymsc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-06-11
|
4KB
|
255 lines
/***********************************************
*
* file d:\cips\mymsc.c
*
* Functions: This file contains
* my_clearscreen
* my_setvideomode
* my_setlinestyle
* my_setcolor
* my_setpixel
* my_moveto
* my_lineto
* my_settextcolor
* my_setbkcolor
* my_settextposition
* my_outtext
* my_remappalette
* my_map_64_shades_of_gray
*
* Purpose:
* This file contains subroutines that
* call Microsoft C 6.0 specific
* routines. I put them all here in one
* file to make it easier to port the
* C Image Processing System software
* to other C compilers and non-IBM PC
* computers.
*
* Each subroutine in this file is a "wrapper"
* for a Microsoft C 6.0 routine. I put
* the letters "my" in front of the Microsoft
* routine name. For example, my_clearscreen
* calls Microsoft's _clearscreen.
*
* The one exception is
* my_map_64_shades_of_gray.
*
* External Calls: all MSC calls
* _clearscreen
* _setvideomode
* _setlinestyle
* _setcolor
* _setpixel
* _moveto
* _lineto
* _settextcolor
* _setbkcolor
* _settextposition
* _outtext
* _remappalette
*
* Modifications:
* 5 June 1993 - created
*
*************************************************/
#include "cips.h"
/***********************************
*
* This ifdef makes all the MSC
* calls work. The MSC variable
* must be defined in cips.h.
*
************************************/
#ifdef MSC
my_clearscreen()
{
_clearscreen(_GCLEARSCREEN);
}
my_lineto(x, y)
short x, y;
{
_lineto(x, y);
}
my_moveto(x, y)
short x, y;
{
_moveto(x, y);
}
my_outtext(text)
char *text;
{
_outtext(text);
}
my_remappalette(index, color)
short index;
long color;
{
_remappalette(index, color);
}
my_setbkcolor(color)
long color;
{
_setbkcolor(color);
}
my_setcolor(color)
short color;
{
_setcolor(color);
}
my_setlinestyle(mode)
unsigned short mode;
{
_setlinestyle(mode);
}
my_setpixel(x, y)
short x, y;
{
_setpixel(x, y);
}
my_settextcolor(index)
short index;
{
_settextcolor(index);
}
my_settextposition(row, column)
short row, column;
{
_settextposition(row, column);
}
my_setvideomode(mode)
short mode;
{
_setvideomode(mode);
}
my_map_64_shades_of_gray()
{
map_64_shades_of_gray();
}
/*******************************************
*
* map_64_shades_of_gray()
*
* This function maps 256 DAC registers to
* gray shades. Taken from p. 73 of
* Sutty and Blair's text on superVGA
*
********************************************/
map_64_shades_of_gray()
{
_asm{
mov ax,0013h ;mod 13h is 320x200x256
int 10h
mov ah,10h ; function 10h
mov al,1bh ; sub function 1bh
mov bx,0h ; first DAC register to change
mov cx,100h ; change 256 DAC registers
int 10h
} /* ends asm */
} /* ends map_64_shades_of_gray */
#endif /* ends ifdef MSC */
#ifdef OTHERC
my_clearscreen()
{
}
my_lineto(x, y)
short x, y;
{
}
my_moveto(x, y)
short x, y;
{
}
my_outtext(text)
char *text;
{
}
my_remappalette(index, color)
short index;
long color;
{
}
my_setbkcolor(color)
long color;
{
}
my_setcolor(color)
short color;
{
}
my_setlinestyle(mode)
unsigned short mode;
{
}
my_setpixel(x, y)
short x, y;
{
}
my_settextcolor(index)
short index;
{
}
my_settextposition(row, column)
short row, column;
{
}
my_setvideomode(mode)
short mode;
{
}
my_map_64_shades_of_gray()
{
}
#endif /* ends ifdef OTHER C */